package edu.bw.service;

import edu.bw.dto.InsertUserForm;
import edu.bw.dto.SelectUserByConditionForm;
import edu.bw.dto.UpdateUserForm;
import edu.bw.pojo.User;
import edu.bw.utils.PageUtils;

import java.util.List;
import java.util.Map;

public interface UserService {
    /**
     *
     * @param user 封装了user相关数据的user对象
     * @return 查询到用户的id值就返回id，查询不到返回null
     */
    Integer userLogin(User user);

    /**
     * @param selectCondition 查询相关的条件
     * @return 返回查询的结果
     */
    PageUtils selectUserByCondition(SelectUserByConditionForm selectCondition);

    /**
     *
     * @param insertUserForm 添加用户的信息
     * @return 影响的行数
     */
    Integer insert(InsertUserForm insertUserForm);

    /**
     *
     * @param userId 要回显的用户id
     * @return 回显相关信息
     */
    List<Map<String, Object>> selectById(Integer userId);

    /**
     *
     * @param updateUserForm 修改用户相关的信息
     * @return 影响的行数
     */
    Integer update(UpdateUserForm updateUserForm);

    /**
     *
     * @param ids 要删除的用户
     * @return 影响的行数
     */
    Integer deleteUserByIds(List<Integer> ids);

}
